package com.cnvai.cms.javabean.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class CmsArticleExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CmsArticleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andArcidIsNull() {
            addCriterion("ARCID is null");
            return (Criteria) this;
        }

        public Criteria andArcidIsNotNull() {
            addCriterion("ARCID is not null");
            return (Criteria) this;
        }

        public Criteria andArcidEqualTo(BigDecimal value) {
            addCriterion("ARCID =", value, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidNotEqualTo(BigDecimal value) {
            addCriterion("ARCID <>", value, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidGreaterThan(BigDecimal value) {
            addCriterion("ARCID >", value, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCID >=", value, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidLessThan(BigDecimal value) {
            addCriterion("ARCID <", value, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCID <=", value, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidIn(List<BigDecimal> values) {
            addCriterion("ARCID in", values, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidNotIn(List<BigDecimal> values) {
            addCriterion("ARCID not in", values, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCID between", value1, value2, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcidNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCID not between", value1, value2, "arcid");
            return (Criteria) this;
        }

        public Criteria andArcclassIsNull() {
            addCriterion("ARCCLASS is null");
            return (Criteria) this;
        }

        public Criteria andArcclassIsNotNull() {
            addCriterion("ARCCLASS is not null");
            return (Criteria) this;
        }

        public Criteria andArcclassEqualTo(BigDecimal value) {
            addCriterion("ARCCLASS =", value, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassNotEqualTo(BigDecimal value) {
            addCriterion("ARCCLASS <>", value, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassGreaterThan(BigDecimal value) {
            addCriterion("ARCCLASS >", value, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCCLASS >=", value, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassLessThan(BigDecimal value) {
            addCriterion("ARCCLASS <", value, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCCLASS <=", value, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassIn(List<BigDecimal> values) {
            addCriterion("ARCCLASS in", values, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassNotIn(List<BigDecimal> values) {
            addCriterion("ARCCLASS not in", values, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCCLASS between", value1, value2, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArcclassNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCCLASS not between", value1, value2, "arcclass");
            return (Criteria) this;
        }

        public Criteria andArctypeIsNull() {
            addCriterion("ARCTYPE is null");
            return (Criteria) this;
        }

        public Criteria andArctypeIsNotNull() {
            addCriterion("ARCTYPE is not null");
            return (Criteria) this;
        }

        public Criteria andArctypeEqualTo(BigDecimal value) {
            addCriterion("ARCTYPE =", value, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeNotEqualTo(BigDecimal value) {
            addCriterion("ARCTYPE <>", value, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeGreaterThan(BigDecimal value) {
            addCriterion("ARCTYPE >", value, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCTYPE >=", value, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeLessThan(BigDecimal value) {
            addCriterion("ARCTYPE <", value, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCTYPE <=", value, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeIn(List<BigDecimal> values) {
            addCriterion("ARCTYPE in", values, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeNotIn(List<BigDecimal> values) {
            addCriterion("ARCTYPE not in", values, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCTYPE between", value1, value2, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctypeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCTYPE not between", value1, value2, "arctype");
            return (Criteria) this;
        }

        public Criteria andArctitleIsNull() {
            addCriterion("ARCTITLE is null");
            return (Criteria) this;
        }

        public Criteria andArctitleIsNotNull() {
            addCriterion("ARCTITLE is not null");
            return (Criteria) this;
        }

        public Criteria andArctitleEqualTo(String value) {
            addCriterion("ARCTITLE =", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleNotEqualTo(String value) {
            addCriterion("ARCTITLE <>", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleGreaterThan(String value) {
            addCriterion("ARCTITLE >", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleGreaterThanOrEqualTo(String value) {
            addCriterion("ARCTITLE >=", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleLessThan(String value) {
            addCriterion("ARCTITLE <", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleLessThanOrEqualTo(String value) {
            addCriterion("ARCTITLE <=", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleLike(String value) {
            addCriterion("ARCTITLE like", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleNotLike(String value) {
            addCriterion("ARCTITLE not like", value, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleIn(List<String> values) {
            addCriterion("ARCTITLE in", values, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleNotIn(List<String> values) {
            addCriterion("ARCTITLE not in", values, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleBetween(String value1, String value2) {
            addCriterion("ARCTITLE between", value1, value2, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArctitleNotBetween(String value1, String value2) {
            addCriterion("ARCTITLE not between", value1, value2, "arctitle");
            return (Criteria) this;
        }

        public Criteria andArcsummaryIsNull() {
            addCriterion("ARCSUMMARY is null");
            return (Criteria) this;
        }

        public Criteria andArcsummaryIsNotNull() {
            addCriterion("ARCSUMMARY is not null");
            return (Criteria) this;
        }

        public Criteria andArcsummaryEqualTo(String value) {
            addCriterion("ARCSUMMARY =", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryNotEqualTo(String value) {
            addCriterion("ARCSUMMARY <>", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryGreaterThan(String value) {
            addCriterion("ARCSUMMARY >", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryGreaterThanOrEqualTo(String value) {
            addCriterion("ARCSUMMARY >=", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryLessThan(String value) {
            addCriterion("ARCSUMMARY <", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryLessThanOrEqualTo(String value) {
            addCriterion("ARCSUMMARY <=", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryLike(String value) {
            addCriterion("ARCSUMMARY like", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryNotLike(String value) {
            addCriterion("ARCSUMMARY not like", value, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryIn(List<String> values) {
            addCriterion("ARCSUMMARY in", values, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryNotIn(List<String> values) {
            addCriterion("ARCSUMMARY not in", values, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryBetween(String value1, String value2) {
            addCriterion("ARCSUMMARY between", value1, value2, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArcsummaryNotBetween(String value1, String value2) {
            addCriterion("ARCSUMMARY not between", value1, value2, "arcsummary");
            return (Criteria) this;
        }

        public Criteria andArchitsIsNull() {
            addCriterion("ARCHITS is null");
            return (Criteria) this;
        }

        public Criteria andArchitsIsNotNull() {
            addCriterion("ARCHITS is not null");
            return (Criteria) this;
        }

        public Criteria andArchitsEqualTo(BigDecimal value) {
            addCriterion("ARCHITS =", value, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsNotEqualTo(BigDecimal value) {
            addCriterion("ARCHITS <>", value, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsGreaterThan(BigDecimal value) {
            addCriterion("ARCHITS >", value, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCHITS >=", value, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsLessThan(BigDecimal value) {
            addCriterion("ARCHITS <", value, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCHITS <=", value, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsIn(List<BigDecimal> values) {
            addCriterion("ARCHITS in", values, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsNotIn(List<BigDecimal> values) {
            addCriterion("ARCHITS not in", values, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCHITS between", value1, value2, "archits");
            return (Criteria) this;
        }

        public Criteria andArchitsNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCHITS not between", value1, value2, "archits");
            return (Criteria) this;
        }

        public Criteria andArcsearchIsNull() {
            addCriterion("ARCSEARCH is null");
            return (Criteria) this;
        }

        public Criteria andArcsearchIsNotNull() {
            addCriterion("ARCSEARCH is not null");
            return (Criteria) this;
        }

        public Criteria andArcsearchEqualTo(String value) {
            addCriterion("ARCSEARCH =", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchNotEqualTo(String value) {
            addCriterion("ARCSEARCH <>", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchGreaterThan(String value) {
            addCriterion("ARCSEARCH >", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchGreaterThanOrEqualTo(String value) {
            addCriterion("ARCSEARCH >=", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchLessThan(String value) {
            addCriterion("ARCSEARCH <", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchLessThanOrEqualTo(String value) {
            addCriterion("ARCSEARCH <=", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchLike(String value) {
            addCriterion("ARCSEARCH like", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchNotLike(String value) {
            addCriterion("ARCSEARCH not like", value, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchIn(List<String> values) {
            addCriterion("ARCSEARCH in", values, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchNotIn(List<String> values) {
            addCriterion("ARCSEARCH not in", values, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchBetween(String value1, String value2) {
            addCriterion("ARCSEARCH between", value1, value2, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcsearchNotBetween(String value1, String value2) {
            addCriterion("ARCSEARCH not between", value1, value2, "arcsearch");
            return (Criteria) this;
        }

        public Criteria andArcauditIsNull() {
            addCriterion("ARCAUDIT is null");
            return (Criteria) this;
        }

        public Criteria andArcauditIsNotNull() {
            addCriterion("ARCAUDIT is not null");
            return (Criteria) this;
        }

        public Criteria andArcauditEqualTo(String value) {
            addCriterion("ARCAUDIT =", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditNotEqualTo(String value) {
            addCriterion("ARCAUDIT <>", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditGreaterThan(String value) {
            addCriterion("ARCAUDIT >", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditGreaterThanOrEqualTo(String value) {
            addCriterion("ARCAUDIT >=", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditLessThan(String value) {
            addCriterion("ARCAUDIT <", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditLessThanOrEqualTo(String value) {
            addCriterion("ARCAUDIT <=", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditLike(String value) {
            addCriterion("ARCAUDIT like", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditNotLike(String value) {
            addCriterion("ARCAUDIT not like", value, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditIn(List<String> values) {
            addCriterion("ARCAUDIT in", values, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditNotIn(List<String> values) {
            addCriterion("ARCAUDIT not in", values, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditBetween(String value1, String value2) {
            addCriterion("ARCAUDIT between", value1, value2, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcauditNotBetween(String value1, String value2) {
            addCriterion("ARCAUDIT not between", value1, value2, "arcaudit");
            return (Criteria) this;
        }

        public Criteria andArcwriterIsNull() {
            addCriterion("ARCWRITER is null");
            return (Criteria) this;
        }

        public Criteria andArcwriterIsNotNull() {
            addCriterion("ARCWRITER is not null");
            return (Criteria) this;
        }

        public Criteria andArcwriterEqualTo(String value) {
            addCriterion("ARCWRITER =", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterNotEqualTo(String value) {
            addCriterion("ARCWRITER <>", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterGreaterThan(String value) {
            addCriterion("ARCWRITER >", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterGreaterThanOrEqualTo(String value) {
            addCriterion("ARCWRITER >=", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterLessThan(String value) {
            addCriterion("ARCWRITER <", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterLessThanOrEqualTo(String value) {
            addCriterion("ARCWRITER <=", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterLike(String value) {
            addCriterion("ARCWRITER like", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterNotLike(String value) {
            addCriterion("ARCWRITER not like", value, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterIn(List<String> values) {
            addCriterion("ARCWRITER in", values, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterNotIn(List<String> values) {
            addCriterion("ARCWRITER not in", values, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterBetween(String value1, String value2) {
            addCriterion("ARCWRITER between", value1, value2, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcwriterNotBetween(String value1, String value2) {
            addCriterion("ARCWRITER not between", value1, value2, "arcwriter");
            return (Criteria) this;
        }

        public Criteria andArcsourceIsNull() {
            addCriterion("ARCSOURCE is null");
            return (Criteria) this;
        }

        public Criteria andArcsourceIsNotNull() {
            addCriterion("ARCSOURCE is not null");
            return (Criteria) this;
        }

        public Criteria andArcsourceEqualTo(String value) {
            addCriterion("ARCSOURCE =", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceNotEqualTo(String value) {
            addCriterion("ARCSOURCE <>", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceGreaterThan(String value) {
            addCriterion("ARCSOURCE >", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceGreaterThanOrEqualTo(String value) {
            addCriterion("ARCSOURCE >=", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceLessThan(String value) {
            addCriterion("ARCSOURCE <", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceLessThanOrEqualTo(String value) {
            addCriterion("ARCSOURCE <=", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceLike(String value) {
            addCriterion("ARCSOURCE like", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceNotLike(String value) {
            addCriterion("ARCSOURCE not like", value, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceIn(List<String> values) {
            addCriterion("ARCSOURCE in", values, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceNotIn(List<String> values) {
            addCriterion("ARCSOURCE not in", values, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceBetween(String value1, String value2) {
            addCriterion("ARCSOURCE between", value1, value2, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcsourceNotBetween(String value1, String value2) {
            addCriterion("ARCSOURCE not between", value1, value2, "arcsource");
            return (Criteria) this;
        }

        public Criteria andArcactiveIsNull() {
            addCriterion("ARCACTIVE is null");
            return (Criteria) this;
        }

        public Criteria andArcactiveIsNotNull() {
            addCriterion("ARCACTIVE is not null");
            return (Criteria) this;
        }

        public Criteria andArcactiveEqualTo(String value) {
            addCriterion("ARCACTIVE =", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveNotEqualTo(String value) {
            addCriterion("ARCACTIVE <>", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveGreaterThan(String value) {
            addCriterion("ARCACTIVE >", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveGreaterThanOrEqualTo(String value) {
            addCriterion("ARCACTIVE >=", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveLessThan(String value) {
            addCriterion("ARCACTIVE <", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveLessThanOrEqualTo(String value) {
            addCriterion("ARCACTIVE <=", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveLike(String value) {
            addCriterion("ARCACTIVE like", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveNotLike(String value) {
            addCriterion("ARCACTIVE not like", value, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveIn(List<String> values) {
            addCriterion("ARCACTIVE in", values, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveNotIn(List<String> values) {
            addCriterion("ARCACTIVE not in", values, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveBetween(String value1, String value2) {
            addCriterion("ARCACTIVE between", value1, value2, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcactiveNotBetween(String value1, String value2) {
            addCriterion("ARCACTIVE not between", value1, value2, "arcactive");
            return (Criteria) this;
        }

        public Criteria andArcadddateIsNull() {
            addCriterion("ARCADDDATE is null");
            return (Criteria) this;
        }

        public Criteria andArcadddateIsNotNull() {
            addCriterion("ARCADDDATE is not null");
            return (Criteria) this;
        }

        public Criteria andArcadddateEqualTo(Date value) {
            addCriterionForJDBCDate("ARCADDDATE =", value, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ARCADDDATE <>", value, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateGreaterThan(Date value) {
            addCriterionForJDBCDate("ARCADDDATE >", value, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ARCADDDATE >=", value, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateLessThan(Date value) {
            addCriterionForJDBCDate("ARCADDDATE <", value, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ARCADDDATE <=", value, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateIn(List<Date> values) {
            addCriterionForJDBCDate("ARCADDDATE in", values, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ARCADDDATE not in", values, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ARCADDDATE between", value1, value2, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcadddateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ARCADDDATE not between", value1, value2, "arcadddate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateIsNull() {
            addCriterion("ARCUPDATEDATE is null");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateIsNotNull() {
            addCriterion("ARCUPDATEDATE is not null");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateEqualTo(Date value) {
            addCriterionForJDBCDate("ARCUPDATEDATE =", value, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ARCUPDATEDATE <>", value, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateGreaterThan(Date value) {
            addCriterionForJDBCDate("ARCUPDATEDATE >", value, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ARCUPDATEDATE >=", value, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateLessThan(Date value) {
            addCriterionForJDBCDate("ARCUPDATEDATE <", value, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ARCUPDATEDATE <=", value, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateIn(List<Date> values) {
            addCriterionForJDBCDate("ARCUPDATEDATE in", values, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ARCUPDATEDATE not in", values, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ARCUPDATEDATE between", value1, value2, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcupdatedateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ARCUPDATEDATE not between", value1, value2, "arcupdatedate");
            return (Criteria) this;
        }

        public Criteria andArcorganIsNull() {
            addCriterion("ARCORGAN is null");
            return (Criteria) this;
        }

        public Criteria andArcorganIsNotNull() {
            addCriterion("ARCORGAN is not null");
            return (Criteria) this;
        }

        public Criteria andArcorganEqualTo(BigDecimal value) {
            addCriterion("ARCORGAN =", value, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganNotEqualTo(BigDecimal value) {
            addCriterion("ARCORGAN <>", value, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganGreaterThan(BigDecimal value) {
            addCriterion("ARCORGAN >", value, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCORGAN >=", value, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganLessThan(BigDecimal value) {
            addCriterion("ARCORGAN <", value, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ARCORGAN <=", value, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganIn(List<BigDecimal> values) {
            addCriterion("ARCORGAN in", values, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganNotIn(List<BigDecimal> values) {
            addCriterion("ARCORGAN not in", values, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCORGAN between", value1, value2, "arcorgan");
            return (Criteria) this;
        }

        public Criteria andArcorganNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ARCORGAN not between", value1, value2, "arcorgan");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}